<?php 
	
	 $servidor = 'localhost';
	 $usuario = 'root';
	 $contras = '123'; 
	 $basedatos = 'eventus_gastos2015';


class sistema{

    private $conexion = FALSE;
    private $key = 'zhf8(@ei656S7l17t!_<{a1L1%2$!5';

    function conectar() {
        global $servidor;
        global $usuario;
        global $contras;
        global $basedatos;
		if($this->conexion){
			$conexion = $this->conexion;
		} else {
			$conexion = mysqli_connect($servidor, $usuario, $contras, $basedatos) or die ('No se pudo conectar');
		}        
		return $conexion;
    }

    function controlPermisos($idRol) {
        $conexion = $this->conectar();
        $sql = "SELECT idPermisos 
                        FROM tabla_rolespermisos WHERE idRol ='$idRol' ";
        $consulta = mysqli_query($conexion, $sql);
        while ($row = mysqli_fetch_array($consulta)) {
            $permisos[] = $row['idPermisos'];
        }
        return $permisos;
    }

    function fechaEncode($fecha) {
        // date("Y-m-d")
        //Convierte de 2012-04-17 a 17-Abril-2012
        $separado = explode("-", $fecha);
        $meses = array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
        $fechaE = $separado[2] . "-" . $meses[intval($separado[1])] . "-" . $separado[0];
        return $fechaE;
    }

    function fechaEncode2($fecha) {
        // date("Y-m-d")
        //Convierte de 2011-03-06 13:06:43 a 17-Abril-2012
        $separado = explode("-", $fecha);
        $separado2 = explode(' ', $separado[2]);
        $meses = array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
        $fechaE = $separado2[0] . "-" . $meses[intval($separado[1])] . "-" . $separado[0];
        return $fechaE;
    }

    function fechaDecode($fecha) {
        //Convierte de 17-Abril-2012 a 2012-04-17
        $separado = explode("-", $fecha);
        switch ($separado[1]) {
            case "Enero": $separado[1] = "01";
                break;
            case "Febrero": $separado[1] = "02";
                break;
            case "Marzo": $separado[1] = "03";
                break;
            case "Abril": $separado[1] = "04";
                break;
            case "Mayo": $separado[1] = "05";
                break;
            case "Junio": $separado[1] = "06";
                break;
            case "Julio": $separado[1] = "07";
                break;
            case "Agosto": $separado[1] = "08";
                break;
            case "Septiembre": $separado[1] = "09";
                break;
            case "Octubre": $separado[1] = "10";
                break;
            case "Noviembre": $separado[1] = "11";
                break;
            case "Diciembre": $separado[1] = "12";
                break;
        }
        $fechaD = $separado[2] . "-" . $separado[1] . "-" . $separado[0];
        return $fechaD;
    }

    function contar($tabla) {
        $conexion = $this->conectar();
        $sql = "SELECT COUNT * AS filas FROM $tabla ";
        $consulta = mysqli_query($conexion, $sql);
        $datos = mysqli_fetch_array($consulta);
        $filas = $datos['filas'];
        return $filas;
    }

    function montoEncode($monto) {
        $dinero = "\$ " . number_format($monto, 4, '.', ',');
        return $dinero;
    }

    function montoMoneda($monto) {
        $dinero = number_format($monto, 4, '.', ',');
        return $dinero;
    }

    function montoSQL($monto) {
        $sig[] = ',';
        return str_replace($sig, '', $monto);
    }

    function controlDirectores() {
        $conexion = $this->conectar();
        $sql = "SELECT idUsuario 
                        FROM tabla_direcciones";
        $consulta = mysqli_query($conexion, $sql);
        while ($row = mysqli_fetch_array($consulta)) {
            $directores[] = $row['idUsuario'];
        }
        return $directores;
    }

    function iva() {
        $conexion = $this->conectar();
        $sql = "SELECT iva FROM tabla_iva 
                    WHERE idiva = 1";
        $consulta = mysqli_query($conexion, $sql);
        $dato = mysqli_fetch_assoc($consulta);
        $iva = $dato["iva"];
        return $iva;
    }
    function formaspago($arr = array()) {
        $conexion = $this->conectar();
        $sql = "SELECT idFormaPago, nombreFormaPago FROM tabla_formaspago";
        $consulta = mysqli_query($conexion, $sql);
        return $consulta;
    }    
    function diasEntreFechas($fechainicio, $fechafin){
        return round((strtotime($fechafin)-strtotime($fechainicio))/86400);
    }
    
    function encrypt($string) {
        $key = $this->key;
        $td = mcrypt_module_open('blowfish', '', 'cfb', '');
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $key, $iv);
        $crypttext = mcrypt_generic($td, $string);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);

        return base64_encode($iv . $crypttext);
    }

    function decrypt($string) {
        $key = $this->key;
        $crypttext = base64_decode($string);
        $plaintext = "";
        $td = mcrypt_module_open('blowfish', '', 'cfb', '');
        $ivsize = mcrypt_enc_get_iv_size($td);
        $iv = substr($crypttext, 0, $ivsize);
        $crypttext = substr($crypttext, $ivsize);
        if ($iv) {
            mcrypt_generic_init($td, $key, $iv);
            $plaintext = mdecrypt_generic($td, $crypttext);
        }
        mcrypt_module_close($td);

        return $plaintext;
    }

}

$sistema = new sistema();
